下面C语言中,str[i][j]是什么意思?本人是超级菜鸟

来源:百度知道 编辑:UC知道 时间:2024/05/25 12:59:05
#include<stdio.h>
main()
{ int i,j,a=0,b=0,c=0,d=0,e=0;
char str[3][80];
for(i=0;i<3;i++) /*这里要先对它进行初始化*/
for(j=0;j<80;j++)
str[i][j]='';
for(i=0;i<3;i++)
gets(str[i]);
for(i=0;i<3;i++)
{for(j=0;j<80;j++)
{
if(str[i][j]=='')continue;/*当顽这里加的东西是如果字符串结束就结束本行查找*/
if(str[i][j]>='A'&&str[i][j]<='Z')a++;
else if(str[i][j]>='a'&&str[i][j]<='z')b++;
else if(str[i][j]>='0'&&str[i][j]<='9')c++;
else if(str[i][j]==' ')d++;
else e++;
}
}
printf("%d,%d,%d,%d,%d",a,b,c,d,e);
getchar();
i++,gets(str[i]),get char()是什么意思?

这个程序是实现了一个对你所输入的一组字符串分别统计大小写字母、数字、空格以及其他字符的个数的功能。
str[i][j]是一个i行j列的数组,当i、j赋予具体值的话就是第i行j列的数据元素。程序中0<=i<3,0<=j<80,也就是一个能存储3行80列数据的数组。也就是说一个240位的字符串用3行80列的数组形式存放。
gets(str[i]); 由于str是char型的,所以str[i]就表示你所输入的一组字符串,用gets来实现接收,并以3行80列的数组形式存放。(gets语句上面好像少了层循环。。)
下面的2重循环就是依次检测每一位元素,并分类统计了。

先看书去

str[i][j]是一个二维数组,前面对i,j进行了定义,这里就进行了循环。从i=1,j=1开始,变成i=1,j=2,接着i=1,j=3,一直循环到i=3,j=80

str[i][j]是二维数组;
i++等于i=i+1;
gets(str[i])是输入一个字符串;
getchar()用于使程序停留。